Skip to content

Conversation

@TIHan
Copy link
Contributor

@TIHan TIHan commented Sep 6, 2018

This increases perf of splitAroundQuotation up to 50% and reduces GC 0 allocation counts by 60-70% roughly.

@cartermp
Copy link
Contributor

cartermp commented Sep 6, 2018

@Horusiath this is the hot path for the report you sent us. When this is merged and a nightly is produced, would you be interested in trying out the nightly when using your code that makes use of Type Providers? Based on some perf testing we think this should help.

@TIHan TIHan closed this Sep 6, 2018
@TIHan TIHan reopened this Sep 6, 2018
@TIHan TIHan closed this Sep 6, 2018
@TIHan TIHan reopened this Sep 6, 2018
@cartermp cartermp requested a review from dsyme September 6, 2018 23:50
@cartermp
Copy link
Contributor

cartermp commented Sep 7, 2018

FYI in our own testing, we saw an order of magnitude reduction in gen0 allocations with this change.

The trace analyzed had 50% of CPU time focused on GC collections, almost all from gen0, with the bulk of them (~70%) coming ultimately from this routine.
image

So this should hopefully make things better when working with Type Providers that produce large numbers of provided types.

@vasily-kirichenko
Copy link
Contributor

@cartermp What is the tool that produces that table with profiling results?

@cartermp
Copy link
Contributor

PerfView: https://github.com/Microsoft/perfview

  • Load an ETL trace
  • The table is in GCStats

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants